/**
 * 根据参数name获取地址栏的参数
 * @param name 地址栏参数的key
 * @returns key对用的值
 */
export function getQueryString(name: string) {
  const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i')

  const r = window.location.search.substring(1).match(reg)

  if (r != null) {
    return decodeURIComponent(r[2])
  }

  return null
}

// 封装本地存储存储数据与读取数据方法
// 存储数据
export function SET_TOKEN(token: string) {
  localStorage.setItem('TOKEN', token)
}
// 本地存储获取数据
export function GET_TOKEN() {
  return localStorage.getItem('TOKEN')
}
// 本地存储删除数据方法
export function REMOVE_TOKEN() {
  localStorage.removeItem('TOKEN')
}

// 存储数据state
export function SET_STATE(state: string) {
  localStorage.setItem('STATE', state)
}
// 本地存储获取数据
export function GET_STATE() {
  return localStorage.getItem('STATE')
}
// 本地存储删除数据方法
export function REMOVE_STATE() {
  localStorage.removeItem('STATE')
}

// 存储数据codeverifier
export function SET_CODEVERIFIER(codeverifier: string) {
  localStorage.setItem('CODEVERIFIER', codeverifier)
}
// 本地存储获取数据
export function GET_CODEVERIFIER() {
  return localStorage.getItem('CODEVERIFIER')
}
// 本地存储删除数据方法
export function REMOVE_CODEVERIFIER() {
  localStorage.removeItem('CODEVERIFIER')
}

// 存储数据accessToken
export function SET_ACCESSTOKEN(accessToken: string) {
  localStorage.setItem('ACCESSTOKEN', accessToken)
}
// 本地存储获取数据
export function GET_ACCESSTOKEN() {
  return localStorage.getItem('ACCESSTOKEN')
}
// 本地存储删除数据方法
export function REMOVE_ACCESSTOKEN() {
  localStorage.removeItem('ACCESSTOKEN')
}
